<?php
// +----------------------------------------------------------------------
// | 萤火商城系统 [ 致力于通过产品和服务，帮助商家高效化开拓市场 ]
// +----------------------------------------------------------------------
// | Copyright (c) 2017~2023 https://www.yiovo.com All rights reserved.
// +----------------------------------------------------------------------
// | Licensed 这不是一个自由软件，不允许对程序代码以任何形式任何目的的再发行
// +----------------------------------------------------------------------
// | Author: 萤火科技 <admin@yiovo.com>
// +----------------------------------------------------------------------
declare (strict_types = 1);

namespace app\common\model\ding;

use cores\BaseModel;

/**
 * 模型类
 * Class Cart
 * @package app\common\model
 */
class Liebian extends BaseModel {
	// 定义表名
	protected $name = 'ding_yuyue';

	// 定义主键
	protected $pk = 'id';
	// 追加字段
	protected $append = ['sex_label', 'status_text', 'date_text'];

	public function getDateTextAttr($value, $data) {
		$date = '';
		if ($data['year'] == Date('Y-m-d')) {
			$date = '今天';
		}
		if (strtotime($data['year']) == strtotime(Date('Y-m-d')) - 86400) {
			$date = '昨天';
		}
		if (strtotime($data['year']) == strtotime(Date('Y-m-d')) + 86400) {
			$date = '明天';
		}
		return $date;
	}

	public function getSexLabelAttr($value, $data) {
		switch ($data['sex']) {
		case 1:
			$sex = '先生';
			break;
		case 2:
			$sex = '女士';
			break;
		default:
			$sex = '';
			break;
		}
		return $sex;
	}
	public function getStatusTextAttr($value, $data) {
		switch ($data['status']) {
		case 10:
			$status = '已预订';
			break;
		case 20:
			$status = '客到';
			break;
		case 30:
			$status = '已取消';
			break;
		default:
			$status = '未知';
			break;
		}
		return $status;
	}

	public static function detail(int $orderId, array $with = []) {
		return self::get($orderId, $with);
	}

	public function clerk() {
		$module = self::getCalledModule();
		return $this->hasOne("app\\{$module}\\model\\store\\shop\\Clerk", 'clerk_id', 'clerk_id');

	}

	public function shop() {
		$module = self::getCalledModule();
		return $this->hasOne("app\\{$module}\\model\\store\\Shop", 'shop_id', 'shop_id');

	}

}
